What is bundle adjustment?

Bundle adjustment is a technique used in computer vision and photogrammetry to refine the parameters of a 3D reconstruction or camera calibration model by solving a non-linear optimization problem.

In bundle adjustment, the goal is to simultaneously optimize the parameters of all cameras and 3D points in a scene in order to minimize the reprojection error between the observed image points and the corresponding points in the reconstructed 3D scene. This is typically achieved by formulating an objective function that measures the discrepancy between the observed image points and the projected points from the 3D model, and then using an optimization algorithm to find the set of parameters that minimizes this error.

Bundle adjustment is commonly used in applications such as structure from motion, camera calibration, and 3D reconstruction from multiple images. It is an iterative process that requires initial estimates of camera parameters and 3D points, and it can be computationally intensive, especially for large-scale problems with many cameras and points.

Overall, bundle adjustment is a powerful technique for refining the parameters of a 3D reconstruction model and improving the accuracy of a computer vision system.